#include "signalAndslot.h"


static struct qfunc slotFuncs[20]={0};

void connect(void *signalFunc,void *slotFunc)
{
	int i=0;
	while(slotFuncs[i].slotFunc){
		if(++i>19)return;
	}
	slotFuncs[i].slotFunc=slotFunc;
	slotFuncs[i].signalFunc=signalFunc;

}


void disConnect(void *signalFunc,void *slotFunc)
{
	int i=0;
	while(i<20){
		if((slotFuncs[i].signalFunc ==signalFunc) && (slotFuncs[i].slotFunc==slotFunc)){
			slotFuncs[i].signalFunc=0;
			slotFuncs[i].slotFunc=0;
		}
		++i;
	}
}

void emit(void *signalFunc,void *param)
{
	int i=0;
	while(i<20){
		if(slotFuncs[i].signalFunc ==signalFunc){
			if(slotFuncs[i].slotFunc)slotFuncs[i].slotFunc(param);
		}
		++i;
	}
	
}